Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.11.2011, 23:10
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

как сделать, якоря ссылок AJAX
добрый вечер, сделал аякс на сайт, все замечательно и чертовски забавно, грузится и формочки отправляет, только одна проблема, в адресной строке ничего не пишется, соответственно нет ссылок на конкретные странички, писал без библиотекам поэтому прошу помочь мне не прибегая к библиотекам:

подскажите как сделать в браузерной строке, что бы прописывались ссылки??

потратил пол дня в поисках, гугл отказался помочь мне, единственное понял, что как то якорями это делается, были статьям но там с библиотеками, вообшем ничего толкового не нашел.
желательно и подскажите как и историю реализовать тоже
Ответить с цитированием
  #2 (permalink)  
Старый 21.11.2011, 00:30
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Вот пример работает через хеш, еще есть History API.
Ответить с цитированием
  #3 (permalink)  
Старый 21.11.2011, 12:09
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

History API. -- не кросбраузерно
Вот пример погляжу отпишусь
Ответить с цитированием
  #4 (permalink)  
Старый 21.11.2011, 12:50
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

(function(window, $){
	$.history = {
		init: function(callback){
			var timer = 100,
			self = this,
			nohashevent = false,
			set = function (a, target) {
				if(target) window.location.href = target + '#' + a;
				else window.location.hash = a;
			},
			current = this.current = function(){
				var loc = window.location, hash = loc.hash, str = loc+'', i = str.indexOf('#');
				i != -1 && (hash = str.slice(i));
				return hash.substring(1);
			},
			init = $.browser.msie && parseInt($.browser.verion, 10) < 8 || document.documentMode < 8 || !('onhashchange' in window) || !('onhashchange' in document.body) ? (nohashevent = true) && function(){
				setInterval(function(){
					var check = current();
					if(check != self.current){
						$.browser.msie && addIEHistory(check);
						callback(check, self.current);
					}
					self.current = check;
				}, timer) 
			} : function(){
				window.onhashchange = function(){
					var update = current();
					callback(update, self.current);
					self.current = update;
				}
			};
			this.callback = callback;
			if ($.browser.opera) history.navigationMode = setOverrideHistoryNavigationMode = 'compatible';
			if($.browser.msie && nohashevent){
				var IEHistoryFrame = document.createElement('iframe'),
				addIEHistory = function(hash){
					if(hash==IEHistoryFrame.contentWindow.curHash) return;
					IEHistoryFrame.contentWindow.document.open();
					IEHistoryFrame.contentWindow.document.write('<scr'+'ipt>window.curHash = "'+hash+'"; parent.location.hash = "'+hash+'"</scr'+'ipt>');
					IEHistoryFrame.contentWindow.document.close();
				};
				IEHistoryFrame.src = 'javascript:true;';
				IEHistoryFrame.style.display = 'none';
				document.body.appendChild(IEHistoryFrame);
			}
			this.push = function(update, target) {
				if (this.current != update) set(update, target);
				return true
			}
			init();
			//callback(current());
		}
		
	};
}(this, this.jQuery));
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #5 (permalink)  
Старый 21.11.2011, 14:46
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Nekromancer, это вы для него написали?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #6 (permalink)  
Старый 21.11.2011, 15:11
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Нет, это у меня был скрипт, написал года полтора назад, пару раз модифицировал. Просто скопировал его.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #7 (permalink)  
Старый 21.11.2011, 16:42
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

А я уже был готов удивляться вашей самоотверженности...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #8 (permalink)  
Старый 21.11.2011, 16:44
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Не, как нибудь в другой раз, не в рабочее время
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #9 (permalink)  
Старый 21.11.2011, 19:08
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

Nekromancer ого спасибо, мне теперь аж на месяц в перед разбираться)
Ответить с цитированием
  #10 (permalink)  
Старый 22.11.2011, 22:20
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

почему когда я пишу
window.location.hash = 'yakor'

или
document.location.hash = 'yakor'

во всех браузерах кроме ИЕ, историю запоминает, как сделать что бы в ИЕ запоминало?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать fullscreen -=1100=- Общие вопросы Javascript 8 30.07.2012 09:53
Как отлаживать события? Или как сделать трассировку вызовов функций? gennad Events/DOM/Window 1 18.08.2010 13:21
как сделать выпадающий список, чтобы второй зависил от значения первого???? zsaz jQuery 2 16.07.2010 20:12
Нужно сделать плавное появление текстового поля как на сайте vkontakte.ru paratrooper1981 Элементы интерфейса 1 23.11.2009 18:24
как дождаться AJAX ответа scuter Общие вопросы Javascript 3 23.03.2008 05:54